我正在研究一个类,我想用它来记录装有WindowsVista/7的计算机上的当前调用堆栈。(与“遍历调用堆栈”http://www.codeproject.com/Articles/11132/Walking-the-callstack非常相似)。首先,我使用RtlCaptureContext获取当前上下文记录,然后使用StackWalk64获取各个堆栈帧。现在,我意识到每当我关闭我的程序并再次启动它时,STACKFRAME64.AddrPC中的程序计数器实际上会针对特定代码行发生变化。出于某种原因,我认为只要不更改源代码并再次重新编译,特定代码行的PC-Address就会保持不变。我
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion在我看来,有两种不同类型的日志记录:以用户为中心的日志,例如我的防病毒软件生成的日志(“已开始扫描”、“未发现威胁”等)以开发人员为中心的跟踪,可以像异常日志一样简单,也可以像每个方法调用的日志一样详细我目前正在计划如何将第二种类型的日志记录合并到我们的应用程序中,以便我们能够在用户报告问题时获得一些错误记录。我看过一些关于这些跟踪应该有多详细以及可用框架的讨论,但在这里我正在寻找一些更通
在“过去”的时候,我为Windows用户创建了一个简单的工具,它可以跟踪他们在计算机前所做的事情(简单的事件监视器)。我使用的是Win32api和GetForegroundWindow、GetWindowThreadProcessId等函数。昨天我安装了新的Windows8并且厌倦了运行我的程序。我获得了50%的成功:对于“经典”桌面,它像往常一样工作:)。对于MetroUI,我只有一个应用程序:WWAHost:(没有任何详细信息。所以我的问题是:是否有任何方法可以跟踪MetroUI中的事件应用程序?感谢帮助更新:我正在尝试从Win32访问MetroUI应用程序,我知道从另一个Metr
就像你们中的大多数人可能知道存在许多不同的机制来遍历堆栈跟踪,从windowsapi开始,并继续深入到神奇的汇编世界-让我在这里列出一些我已经研究过的链接。首先让我提一下,我想要混合模式(托管和非托管)/64位+AnyCPU应用程序的内存泄漏分析机制,并且来自所有Windowsapi的CaptureStackBackTrace最适合我的需求,但正如我所分析的-它不支持托管代码堆栈遍历。但该函数API最接近我需要的(因为它还计算回溯哈希-特定调用堆栈的唯一标识符)。我排除了定位内存泄漏的不同方法-我尝试过的大多数软件要么崩溃,要么不可靠地工作,或者给出不好的结果。此外,我不想重新编译现有
我们有一个充满指向文件夹的快捷方式(.lnk文件)的网络驱动器,我需要在C#Winforms应用程序中以编程方式遍历它们。我有哪些实用选择? 最佳答案 添加IWshRuntimeLibrary作为对项目的引用。添加引用、COM选项卡、Windows脚本宿主对象模型。以下是我如何获取快捷方式的属性:IWshRuntimeLibrary.IWshShellwsh=newIWshRuntimeLibrary.WshShellClass();IWshRuntimeLibrary.IWshShortcutsc=(IWshRuntimeLibr
我作为志愿团队的一员工作,致力于创建具有宽松许可的开源产品。我们目前使用VisualSVNServer/TortoiseSVN进行源代码控制,使用TeamCity进行持续集成构建。我想将错误跟踪组件添加到将集成到SVN中的组合中。理想情况下,我想使用FogBugz,但我们没有预算。所以,我需要一个替代方案。要求是:必须是免费的或有支持至少20位开发者的免费版本(我们是志愿者!)必须与VisualSVN服务器集成必须在Windows上运行我更喜欢Microsoft技术(ASP.Net优于PHP;SQLServer优于MySQL等),因为我们是一家Microsoft商店,我们有使用这些工具
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。除了难以安装的非WindowsBugzilla,可以推荐哪些开源问题跟踪程序,它们与常规Windows样式安装一样好但可用?(.exe或.msi)
我在调试en_windows_7_checked_build_dvd_x86_398742时没有得到任何调试信息。我什至看不到自己的跟踪信息(ATLTRACE)。相反,WindowsXPChecked很有魅力。我在使用Windows7启动调试session时收到“BadQueryIdType:5”消息。内核调试显然已正确设置。请帮助... 最佳答案 我能够在windbg中修复它,在windows732位上:edKd_DEFAULT_Mask8根据msdn文章,也可以使用注册表,但必须重启才能生效。在HKEY_LOCAL_MACHIN
我的目标是确定何时执行命令,准确地读取和写入哪些文件。在Linux上,我可以使用ptrace来做到这一点(工作,类似于strace所做的)和FreeBSD和MacOS我可以用ktrace做到这一点系统命令。您将使用什么在Windows上获取此信息?到目前为止,我的研究表明我要么使用调试器接口(interface)(在很多方面类似于ptrace),要么可能使用ETW.第三种选择是插入一个DLL来拦截系统调用。不幸的是,我没有经验来猜测这些方法中的每一种方法的挑战性。有什么建议吗? 最佳答案 不幸的是,似乎没有简单的方法可以在Windo
我怀疑我的一个应用程序占用的CPU周期比我想要的要多。问题是-它突然发生,只看任务管理器对我没有帮助,因为它只显示立即使用。有没有办法(在Windows上)跟踪某些进程的CPU和内存使用历史记录。例如。我将开始跟踪“firefox”,大约一个小时后将看到该小时内其CPU和内存使用情况的图表。我正在寻找现成的工具或编程方式来实现这一目标。 最佳答案 按Win+R,输入perfmon并按Enter。当“性能”窗口打开时,单击+符号将新计数器添加到图表中。计数器是您的PC工作方式的不同方面,并按相似性分组到称为“性能对象”的组中。对于您的